Typical radio communications systems, such as cellular voice and data communications systems, have multiple base stations in various locations accessed by mobile or fixed user terminals, such as cellular telephones or wireless web devices. Each base station communicates with a user terminal using a communications channel. The communications channel can be used for sending signals that communicate information, such as user data and/or control data.
A communications channel may consist of transmissions in a set of time slots in a Time Hopping Frame, or in a set of tones in a Frequency Hopping Frame, or in a bi-phase or polyphase sequence in a Code Division Multiple Access (CDMA) Frame. The transmissions are all on a physical carrier frequency. A physical carrier frequency may be a 625 kHz band around a central frequency, such as 800 MHz or 1.9 GHz, or an arbitrary width band around 1 GHz. The same principles apply to radar and sonar, except that the information is in the properties of the channel.
FIG. 1 shows a typical implementation of a modern day CDMA transceiver. The digital operations are typically implemented in a Field Programmable Gate Array (FPGA), possibly in conjunction with a microprocessor. User data is modulated by a special binary or n-ary sequence, which is converted into phases of a carrier around 1 GHz by a process called Direct Digital Synthesis. This consists of looking up a sine/cosine table at a fixed clocking rate, thereby generating a modulated subcarrier at tens of MHz. The subcarrier is generated in two versions, I (in-phase) and Q (quadrature), so that it can be up-converted by any high stability oscillator using single sideband (SSB) up-conversion. This modulated carrier is amplified, sent to an antenna and then broadcast.
In the receiver, the received carrier, which is modulated by the user data and a special sequence is amplified and down-converted into digital I and Q data streams at the subcarrier frequency. These streams are down-converted digitally and the baseband signal converted from a Cartesian basis into magnitude and phase (polar basis). The magnitude is used to control the gain of the receiver front end, whilst the phase is used as an input to a correlator. The other input to the correlator is a replica of the reference version of the special sequence. The special sequence has the property that a periodic correlation with a time shifted version of itself (autocorrelation) is very low, except when the time shift is a multiple of the period of the sequence, or very close to that. Whenever that happens, the correlation is a very large complex number, the magnitude of which indicates how closely the timing matches, and the phase of which indicates how closely the phase of the transmitted carrier modified by the channel matches that of its replica in the receiver. This phase fluctuates in response to the data at the transmitter end. In this manner, the original user data can be recovered. The deviations from ideal correlation or expected phase can be used to track any misalignment, or channel imperfections in various tracking loops e.g. tau dither. Other special sequences may be used to synchronize the receiver with the transmitter from a cold start.
An issue arises if there is more than one user in the above scenario. Then, the special sequences must have low cross-correlation with each other. Otherwise, any receiver circuits such as those described in FIG. 1, could get “confused” and decode the data from an unintended user or just produce scrambled data. Therefore, sequence sets with low off-peak autocorrelation and low cross-correlation are required for a multiple user environment. Binary (two phase) sequence sets are particularly prized for this application. The best known of these are Gold sequences and the large and small Kasami sequences. These are available for special lengths and have fixed family sizes, sequence balance, and resistance to attack. For example, Gold sequences of length 1023 are used as short, coarse acquisition codes in GPS.
The proliferation, acceptance and reliance upon personal mobile communications has created the need for flexible, mobile networks ranging from femtocells typically used in homes and small businesses to regular cells covering larger areas. However, traditional methods of multiplexing multiple users by frequency or time division are inefficient and ineffective in guarding against multi-path and mutual interference, noise and jamming or other attacks.
Code division multiple access (CDMA), frequency hopping, orthogonal frequency-division multiplexing (OFDM), and ultra wide band (UWB) techniques have been developed in an effort to overcome these shortcomings. These techniques have recently been enhanced with the use of Multiple Input, Multiple Output (MIMO), polarization and space-time coding. All these techniques rely on sets of digital sequences with low off-peak autocorrelation and low cross-correlation. For fixed communication networks, it may be possible to coordinate the signals, so that these low auto- and cross-correlation values only need to be achieved for a specified set of delays. However, due to the mobility of the handsets, the mobile-to-base links cannot be precisely coordinated and require some means of separating the different users within the same channel.
One way of achieving this is by modulating the phase of the carrier signal of each user by a unique signature sequence to achieve CDMA. Since such sequences spread the spectral occupancy of each user they are also called spreading codes in spread spectrum terminology. It is mathematically impossible to create signature sequences that are orthogonal for arbitrary starting points and which make full use of the code space. Therefore, unique “pseudo-random” or “pseudo-noise” (PN) sequences are used in asynchronous CDMA systems. A PN code is a binary sequence that appears random, but can be reproduced in a deterministic manner by intended receivers. These PN codes are used to encode and decode a user's signal in asynchronous CDMA. PN sequences are statistically uncorrelated and the sum of a large number of PN sequences results in multiple access interference (MAI) that is approximated by a Gaussian noise process due to the central limit theorem.
Gold codes and Kasami codes are examples of a PN code suitable for this purpose because there is low correlation between the codes. However, if all of the users are received with the same power level, then the variance (e.g., the noise power) of the MAI increases in direct proportion to the number of users. The signals of other users will appear as noise to the signal of interest and interfere slightly with the desired signal in proportion to number of users.
Gold codes are a family of sequences based on binary addition of preferred pairs of maximal length sequences (m-sequences). Codes exist for lengths 2n−1, n≠0 mod 4. Each family has 2n+1 codes, the off-peak autocorrelation and cross-correlation of which is three valued. For n odd, the values are optimal.
Kasami sequences exist for lengths of the type 2n−1, n even. There are two types: a small set and a large set. The small set is based on the binary addition of preferred pairs of sequences, one of which is of length 2n−1, whilst the other is of length 2n/2−1. The large set is formed by binary addition of triples of suitably chosen sequences of length 2n−1.
Other constructions of CDMA sequences include No Kumar, Kerdock and Bent Sequences. All known constructions are available for only a few selected lengths, many are unbalanced, and all have normalized linear complexities which tend to 0 as sequence length increases.
For frequency hopping systems, each user is assigned a frequency hopping code of period T, where a single tone or a combination of tones is transmitted during each time interval, or chip period t. The low off-peak autocorrelation and low cross-correlation of the codes ensures that the data sent to or from each user suffers low and constrained interference, which is tolerable, or corrected for by standard error correction techniques. This is also true for UWB systems, where time hopping instead of frequency hopping is involved. Similar methods are also used in optical fiber communications, where wavelength selection is equivalent to frequency assignment and the codes are known as Optical Orthogonal Codes (OOC).
Existing frequency hopping codes include Costas arrays which are doubly periodic arrays with one dot per row and column, such that all the vectors separating the dots are unique. The off-peak periodic dot autocorrelation (auto hit) of such arrays is exactly 1. Generally, such arrays are solitary, although pairs of arrays with dot cross-correlation (cross hit) constrained by 2 are possible.
Hyperbolic sequences are another example of existing frequency hopping codes. For Finite Field GF(p) these are defined as:y(k)=α/k(mod p)k=1,2, . . . ,p−1 and someα≠0εGF(p)
Hyperbolic sequences of length p−1 have at most two hits in its auto-correlation function except for the (0,0) shift, and at most two hits in its 2D cross-correlation function formed with any other code from the same family.
An (n, ω, λ) Optical Orthogonal Code (OOC) C where 1≦λ≦ω≦n, is a family of {0,1} sequences of length n and Hamming weight ω satisfying:Σk=0n−1x(k)y(k⊕nτ)≦λ whenever either x≠y or τ≠0.
λ is the maximum correlation parameter. A review of known constructions is presented in O. Moreno, R. Omrani, and S. V. Maric, “A New Construction of Multiple Target Sonar and Extended Costas Arrays with Perfect Correlation” 40th Annual Conference on Information Sciences and Systems, 22-24 Mar. 2006, pp. 512-517.
Regarding existing multi-target codes, by definition the number of hits in the 2D auto-correlation function of Costas arrays is ideal. However, the multi-user environment and rather poor 2D cross-correlation properties of Costas arrays necessitated the construction of other sequence families such as nth order congruence codes. GF(p) denotes the Finite Field over a prime p, and GF(p)=GF(p)−{0}. Therefore, the nth order congruence sequence of length p is defined by:y(k)=αkn(mod p)0≦k≦p and some αε(p)
An nth order congruence sequence constructed over the Field of prime p is a full sequence when d=(φ(p),n)=1 where φ denotes the Euler φ function and d=(x,y) is the greatest common divisor of x and y. An nth order congruence sequence (n>1) of length p has at most n−1 hits in its 2D auto-correlation function except for the (0,0) shift, and at most n hits in its 2D cross-correlation function formed with any other sequence from the same family.
All of the methods described above can also be used in radar, where the encoded transmitted signal is reflected or scattered by the environment and is received at a receiver co-located with the transmitter (monostatic) or located elsewhere (bistatic). In the case of radar, the information is in the magnitude, phase, frequency, polarization or spatial profile of the reflected or scattered signal.
The reference to any prior art in this specification is not, and should not be taken as, an acknowledgement or any form of suggestion that the prior art forms part of the common general knowledge.